The present invention relates generally to data storage systems and, more particularly, to a system and method for decoding encoded data blocks that eliminates the need for block coding pad bytes in the decoding process.
A typical data storage system includes a magnetic medium for storing data in magnetic form and a transducer used to write and read magnetic data respectively to and from the medium. A typical disk storage device, for example, includes one or more data storage disks coaxially mounted on a hub of a spindle motor. The spindle motor rotates the disks at speeds typically greater than several thousand revolutions-per-minute (RPM).
Digital information is typically stored in the form of magnetic transitions on a series of concentric, spaced tracks formatted on the surface of the magnetizable rigid data storage disks. The tracks are generally divided into a number of sectors, with each sector comprising a number of information fields, including fields for storing data, and sector identification and synchronization information, for example.
An actuator assembly typically includes a plurality of outwardly extending arms with one or more transducers and slider bodies being mounted on flexible suspensions. The slider body lifts the transducer head off the surface of the disk as the rate of spindle motor rotation increases, and causes the head to hover above the disk on an air bearing produced by high speed disk rotation.
In a typical data storage device, such as a direct access storage device (DASD) or other magnetic or optical storage device, data is typically stored in data sectors. In addition to storing customer data, each data sector typically includes a number of fields that store specific types of information that facilitate recovery of customer data during the readback process. Such fields may, for example, include one or more synchronization fields, an error correction code (ECC) field, a cyclic redundancy code (CRC) field, and a pad field.
Conventional data channel detector implementations typically require additional data or xe2x80x9cpadxe2x80x9d to be written to a data sector following writing of the customer data and ECC fields in order to allow the channel""s detector to decode the last bytes of data written to the sector. The purpose of the pad is to provide sample values to the channel""s detector and/or parity circuits for purposes of resolving pending decisions at the end of a data read operation.
In state of the art DASD read/write channels, parity encoding schemes are employed which use large block sizes to improve code rate efficiency. In such schemes, the encoding process does not require a full block of data be written to the disk. In accordance with current decoding processes which employ parity information to correct errors in the block, however, it is a requirement that a full block of data be read prior to transferring customer data.
The use of large block sizes, such as 12 byte blocks in certain designs, limits the granularity of available sector sizes. In cases where the needed number of bytes does not fit a modulus of the block size, for example, an appropriate number of pad bytes are added to meet the requirement. If the pad was not added, a read operation would return erroneous data due to the last block being incomplete and would most likely have incorrect parity information resulting in miscorrected data being transferred out.
It is appreciated by those skilled in the art that this pad represents wasted space that could otherwise be allocated for storing customer data or other needed information. Inclusion of such pad degrades format efficiency. In current DASD designs, there is no practicable way to completely eliminate the need for pad due to varied data rates, split sectors, and customer requests for non-standard sector sizes, among other reasons. The use of smaller block sizes has several disadvantages as well, including lower code rate efficiency and/or degraded error rate performance, both of which degrade format efficiency.
There is a need for an improved data storage formatting approach which provides for increased data sector format efficiency and sector size granularity. There exists a further need for such an approach that provides for increased customer data storage capacity, and one that allows designers to implement more efficient coding schemes without incurring loss of format efficiency due to the requirement to add pad at the end of a data sector. The present invention fulfills these and other needs.
The present invention is directed to an apparatus and method for transferring data between a read/write transducer and a data storage medium which provide for an improvement in track format efficiency. The present invention is also directed to such an apparatus and method that provides for increased sector size granularity.
An apparatus and method of the present invention provide for transferring of data between a read/write transducer coupled to a data channel and a data storage medium without necessity of a data sector block coding pad field. According to the present invention, a data sector is received during a read operation. A disable signal associated with a last block of the data sector is generated. In response to the disable signal, data correction, such as parity correction, to the last block of the data sector is disabled. Data correction is enabled for application to blocks of the data sector other than the last block.
Generating the disable signal involves identifying the last block of the data sector. According to one embodiment, a disable signal is generated in response to detecting a change of state of a read gate input into the data channel. For example, the disable signal is generated in response to the read gate input changing state from an active state to an inactive state. According to this embodiment, generating the disable signal may further involve enabling data correction to a block proceeding and adjacent to the last block. The disable signal is generated prior to or during application of data correction to the block proceeding and adjacent to the last block. Data correction is disabled to the last block of the data sector in response to the disable signal.
According to another embodiment, a counting approach is employed to identify the last block of a data sector. According to one counting approach, the data sector has a predefined size, and generating the disable signal involves determining an expected amount of data that will be read during the read operation and counting an amount of data transferred out of the data channel during the read operation. The start of the last block is detected using the counted amount of transferred data. Data correction to the last block is disabled if the expected amount of data is not an integer multiple of the predefined size of the data sector.
In accordance with a further embodiment of the present invention, an apparatus is employed in a data channel for processing readback signal information developed from a data storage medium during a read operation. The apparatus includes a detector that detects an encoded data stream developed from a readback signal, where the encoded data stream includes a number of encoded data blocks. A processor is coupled to the detector. The processor includes a parity check unit that detects parity of the encoded data blocks and a data correction unit that operates on a particular encoded data block in response to the parity check unit detecting incorrect parity of the particular encoded data block. The apparatus further includes a disable circuit coupled to the parity check unit and the data correction unit. The disable circuit generates a disable signal associated with a last block of the encoded data blocks, and the data correction unit disables data correction to the last block in response to the disable signal.
The disable circuit, according to one embodiment, includes an input coupled to a read gate input to the data channel. The disable circuit includes a detector that detects a state change of the read gate input. The disable circuit generates a disable signal in response to the detected state change of the read gate input, such as a state change from an active state to an inactive state. In one configuration, the disable circuit may be coupled to the read gate input to the data channel and a timer in the data channel. In this configuration, the disable circuit generates the disable signal in response to a state change of the read gate input and transmits the disable signal to the data correction unit upon expiration of the timer. The timer expires after a period of time corresponding to a processing delay of a decoder coupled to an output of the processor.
According to a further embodiment, the disable circuit includes a counter, such as a byte counter. The disable circuit generates a disable signal in response to the counter identifying the last block of the encoded data blocks. For example, the counter counts an amount of data transferred out of the data channel during the read operation and detects a start of the last block using the counted amount of transferred data and an expected amount of data to be read during the read operation. The disable circuit generates a disable signal in response to the expected amount of data not being an integer multiple of a predefined size of the data sector.
In accordance with another embodiment, circuitry and methodologies of the present invention are embodied in a data storing system. The data storing system includes a data storage disk, a transducer supported by a support structure in proximity with the disk, and an actuator that provides relative movement between the transducer and the disk. The data storing system further includes circuitry for processing readback signal information developed by the transducer during a read operation and for selectively disabling data correction to the last block of encoded data blocks as described previously hereinabove.
The above summary of the present invention is not intended to describe each embodiment or every implementation of the present invention. Advantages and attainments, together with a more complete understanding of the invention, will become apparent and appreciated by referring to the following detailed description and claims taken in conjunction with the accompanying drawings.